home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1998 #4
/
Amiga Plus CD - 1998 - No. 4.iso
/
pd
/
disk
/
fback-dist
/
doc
/
fback14c.doc
next >
Wrap
Text File
|
1998-02-22
|
23KB
|
540 lines
*********************************************************************
FBack V1.4c
By Chris De Maeyer
For AmigaDOS 68k
*********************************************************************
0. Contents
----------
1. Introduction
1.1. Legal
1.2. What it does...
1.3. Requirements
1.4. Contact address
1.5. Development info
1.6. Versions
2. Using it
2.1. Command line options
2.2. Examples
3. Appendix
3.1. Common problems
3.2. Error messages
3.3. The future
3.4. About me
1. Introduction
--------------
If you have used this program before try to make the effort to read this doc
again. Some useful info is updated, not listed in previous versions.
Read also 'fmirr14c.doc' for changes !
1.1. Legal
-------
Type : - (E)MAILWARE
Terms : - no modifications to any file in this archive
- add no additional files to this archive
- use this program longer than 30 days, then you should
reward the author with a postcard/letter/email, hence the term
mailware
- author can not be held responsible for data loss, the program
has been tested and the behaviour has been described below
- any commercial distribution is prohibited (except on Aminet).
1.2. What it does
--------------
'FBack' is a file copy tool. It will check the archive bit of files
and copy them if the archive bit is not set. After copying it will
add the archive bit. It can be used to perform a 'Daily' backup of
changed files.
As an option you can run the program in GUI mode, this will open up
a window which keeps up with the process. For now, when processing is
finished the window will remain open until you close it with the close
gadget. Unless you specify NOWAIT, then the window is closed immediately
after processing. In this mode the 'Current' gadget displays the files it
is scanning. In CLI mode it merely reports the directories it is scanning
(let me know if you want files here too [as an option]).
On request of some users a CLONE option has been added, meaning the
date/time is preserved on the backup.
The filenotes are copied by default, specifying the NOCOMMENT option
will suppress this.
The program includes a batch mode, paths and options are then specified
with a configuration file. Several entries are allowed.
Further, the filenotes are copied or not copied with NOCOMMENT option.
Some extra statistics, the estimated processor time (for now only in
second(s)) are displayed.
'FMirror' is included. Its purpose is to delete files which no longer
exist in the original directory, thus creating a mirror.
There has been a remark concerning the mirror concept in combination
with the pack mode, if you take it word for word, issuing PACK is no
EXACT mirror (jeezes!). Mirroring is portrayed in this implementation as
following concept: you have a copy (normal or packed) on the backup volume
of what is on your source path (Comprendo!).
1.3. Requirements
--------------
Properly installed Amiga ROM 2.04+.
Needs XPK library when using this option.
GUI window uses standard GADTOOLS library.
Needs Argue (V1.3a) to use FBackGUI, FMirrorGUI.
1.4. Contact address
-----------------
For mail/information/problems/gifts/bugs etc. write to the address
below, state version & add postage for reply:
Visionary Software
tav. Chris De Maeyer
Norbertijnenstraat 4
B-2040 BELGIUM
EUROPE
Internet :cdemaeyer1@mmm.com
Alternate:ceppe@geocities.com
Homepage :http://www.geocities.com/SiliconValley/Peaks/8452
1.5. Development info
------------------
Sources were written in C and compiled using SAS/C V6.58.
All file I/O has been coded using standard system library
functions (V38+).
1.6. Versions
----------
The actual version can be determined by typing 'version fback' in a
CLI window.
It is recommended to always upgrade to the latest version.
V0.9 TEST RELEASE
- first internal test version.
V1.0 FIRST PUBLIC RELEASE
- cleaned up code
- adapt stack size + compile with stackextend, optimize
- first public release.
V1.1 MAJOR UPDATE
- added file report after processing
- shortened output strings + reformat
- changed ExamineDir() flow, performs better with patterns
- message to indicate NOCOPY mode
- fixed error in document (FROM/A & TO/A examples).
V1.1a MINOR UPDATE
- changed some buffer sizes for speed, copybuffer = 16Kb.
V1.2 MAJOR UPDATE
- added packing mode
- added XPK packer/unpacker
- added date in version string.
V1.2a MINOR UPDATE
- updated some internal values
- added Argue GUI
- added BUF option.
V1.2b MINOR UPDATE
- added FORCE option
- changed some displayed strings.
V1.2c MINOR UPDATE
- replaced SAS pattern match function with 'dos.library'
function MatchPatternNoCase()
- fixed pattern matching.
V1.3 MAJOR UPDATE
- archive bits are also set on destination (Oops!)
- added GUI window option
- added NOWAIT option
- added CLONE option, to keep date on destination.
V1.3a MINOR UPDATE
- filenotes of files are copied now
- added NOCOMMENT option
- code generation with SAS/C 6.58.
V1.4 MAJOR UPDATE
- fixed traversing the directory tree
- HandleIDCMP() uses Wait() now
- added estimated processor time (and total time) report
- changed output attributes of some strings
- FROM, TO paths are checked now
- filenotes of directories are copied now
- added configuration file mode (batch).
V1.4a MINOR UPDATE
- added BEFORE/ASOF date possibility
Remark: I tested with async I/O functions but these
gave a poor result ! Why ? Rather simple to be honest,
I can not do/find any other task to do while copy is
busy...
ASYNC TEST RESULTS
------------------
Mb Buffer Time To Backup
---------------------------------
24 16 Kb 98 seconds
24 64 Kb 68 seconds
1.5 16 Kb 30 seconds (small files)
See table with BUF option for reference to normal
implemented routines.
V1.4b MINOR UPDATE
- support for more files
- default copy buffer size 32Kb
V1.4c MINOR UPDATE
- bugfix in file arrays
- aborts on CTRL_C in CLI mode
2. Using it
----------
2.1. Command line options
----------------------
The program uses standard AmigaDOS command templates, so
typing 'FBack ?' will list all the options available.
Detail explanation of options:
FROM/A - the source path, a AmigaDOS file pattern may be
given.
fe. BOOT:
BOOT:Prefs/
BOOT:S/#?.keyfile
As you can see, a volume needs no '/'. However, a
directory always needs a '/'.
If a volume\directory is chosen, only that part will
be checked, to include all subdirectories include the
'ALL' switch.
fe. FBack BOOT: TO BACKUP: ALL
FBack WORK:data/ TO BACKUP:Sys/ PACK=HUFF ALL
Fback WORK:data/calc/#?.wk1 TO BACKUP:Wks/ ALL
TO/A - the destination path.
fe. BACKUP:
SQ0:Backup/Workbench/
Same rules as above, a volume needs no '/'. A directory
always needs an ending '/'.
As you might expect, the 'ALL' switch will create any
missing subdirectories in the destination path.
NOCOPY/S - this does exactly what it says, when a file has
been modified it is normally copied to the backup
location. Adding this parameter prevents this and the
program will merely report the file. Call it a SIMULATE
mode.
ALL/S - include subdirectories.
QUIET/S - no output messages.
PACK=/K - enables packer mode, supply preferred packer. In this
mode make sure your recovery disk includes the XPK library
+ some XPK unpacker (fe. xpk [included]) to restore files.
fe. PACK=nuke
BUF=/K/N - choose the buffer size used for copying, default is 32 Kb.
Size limited only by your available RAM (but do not try to
use TOO big sizes, 32 Kb will do fine for most users).
*********** READ THIS HERE !!! ***************
The buffer size is specified in bytes.
**********************************************
This table states a test result (on my system!):
Mb Buffer Time To Backup
------------------------------------
24 16 Kb 84 seconds (big files)
24 64 Kb 47 seconds " "
24 128Kb 32 seconds " "
1.5 16 Kb 29 seconds (small files)
1.5 64 Kb 28 seconds " "
1.5 128Kb 28 seconds " "
Obviously, the speed increase is optimal while backing
up large files and vanishes if little files are processed.
FORCE/S - specifying this option will ignore the archive bit, thus
copying every file (= full backup).
GUI/S - opens GUI showing some statistics, no more CLI output.
NOWAIT/S - when using GUI mode, closes the window immediately after
processing finishes, otherwise window remains open until you
click the close gadget.
CLONE/S - clones file date/time to destination.
NOCOMMENT/S - specifying this option will instruct FBack NOT to copy
the filenotes.
CONFIG=/K - run in batch mode, this parameter contains the filename
of the configuration file to process.
Syntax configuration file (text file):
----------------- cut ----------------------
[FBack]
NumberOfPaths = <N>
[Paths]
SrcPath1 = <source path 1>
DstPath1 = <destination path 1>
...
SrcPathN = <source path N>
DstPathN = <destination path N>
[Options]
BOptions1 = <fback options for entry 1>
MOptions1 = <fmirror options for entry 1>
...
BOptionsN = <fback options for entry N>
MOptionsN = <fmirror options for entry N>
----------------- cut ----------------------
Example: study "MYBACK.CFG" included in the archive.
To start batch mode use a command line like:
fback "" "" cfg=myback.cfg
or
fback "" "" config=whatever
All options are available in batch mode, except for
FROM, TO and BUF.
Also, batch mode is NOT included in the Argue GUI.
NOTE: To detect in which mode (CLI or GUI) FBack
will run the first option entry is taken.
Thus, specifying GUI in the 1st option entry
will trigger GUI mode for all subsequent batch
entries.
Leaving GUI out of the 1st option entry will
run all subsequent entries in CLI mode.
NOWAIT is also only interpreted in the 1st
option entry.
When running batch mode with GUI, the current
gadget will display the batch entry it is going
to process for a couple of seconds. After the
batch entry is done the "Estimated processor
time" is displayed. When all batch entries are
finished the "Total processor time" will be
shown.
BEFORE=/K This triggers the date selection. Enter the date in DOS
format (dd-mmm-yy) meaning this is also localized.
For example: 15-okt-97 for Belgian/Dutch users.
ASOF=/K Opposite of the previous, will backup files as of the
the date given and after it.
So,the date given is included in the selection.
The return code is either RETURN_OK (0) or RETURN_WARN (5) in all
other cases.
For some examples look at next section "2.2. Examples".
While in CLI mode the program can be interrupted by pressing CTRL-C.
Or, if you have Argue V1.3a you can use the GUI (FBackGUI) version.
NOTE: the logical sequence to run FBack/FMirror is run FBack first,
then run FMirror (as you see in the first example below).
Some users do it the other way round (the logic escapes me!).
2.2. Examples
----------
This section lists some examples of usage.
- Backup changed prefs files:
; Startup-sequence
...
FBack sys:prefs/env-archive/ to work:backup/prefs/ ALL FORCE QUIET
FMirror work:backup/prefs/ to sys:prefs/env-archive/ ALL QUIET
...
- Mirror a disk at startup & create logfile:
; Startup-sequence
...
FBack sys: to mirror:boot/ ALL >T:FBack.log
FMirror mirror:boot/ to sys: ALL >T:FMirror.log
...
- Mirror files before shutdown:
.key FLAG
.bra {
.ket }
; Shutdown script
echo "Just a moment, valuable files are checked..."
;
if {FLAG} EQ "GFX"
FBack work:data/gfx/ to backup:data/gfx/ ALL GUI NOWAIT
echo "Gfx data has been saved."
endif
if {FLAG} EQ "ALL"
FBack work:data/ to mirror:data/ ALL GUI NOWAIT
FMirror mirror:data/ work:data/ ALL GUI
echo "All data has been mirrored."
endif
;
FBack sys:prefs/ to mirror:prefs/ ALL PACK=BZLW QUIET
echo "System preferences have been saved."
;
if exists C:Halt
echo "It now safe to switch me OFF !"
Halt
endif
- Backup certain files in a range of dates:
fback data:texts/ backup: all clone asof=01-feb-97 before=10-feb-97
Will backup the files from 01 february 1997 till 09 february 1997.
3. Appendix
----------
3.1. Common problems
-----------------
Q: It doesn't find its source/backup files ?
A: Enter the correct path: see section 2.1 (FROM,TO option).
Q: Fback picks up not any file ?
A: Did you end the source path with a '/' ? Leaving it out
will traverse the entire source drive without touching
any file. Call it a side-effect !
Q: When I backup to a JAZ/ZIP drive it takes a long time !
A: Add a large number of disk buffers, eg. 'AddBuffers JAZ5: 200'.
3.2. Error messages
----------------
'Source/Destination not found'
The entered path could not be located. Correct your paths !
'File not found'
The file you typed could not be found.
'Invalid date'
Enter the date in ADOS format, thus dd-mmm-yyy. Example: 01-jan-97.
'No xxxxx date'
Supply a date with the BEFORE/ASOF keywords.
AmigaDOS errors are in format :
'FBack: nnn - message'
3.3. The future
------------
Any suggestions/motivations/gifts from you are welcome !
Thanks to all guys & dolls sending me (E)MAIL.
It is because of YOU this program keeps getting better and better...
3.4. About me
----------
Well, I'm working as a "Technical Analist" for a multinational company.
My main responsibilities are "Implementing and supporting the WINDOWS NT
LAN/WAN environment" (shame on me !). It's only for the money... give me
a break ?? (If my bosses read this -> I'm only sucking up the great Amiga
community !).
At home I have a Amiga 4000T (68060/50/PPC, 80Mb Fast, 1GB HD, Syquest 105,
a JAZ, VLab digitizer, Cybervision 64, Y/C genlock, 2 VCR's, etc).
Which I primarily use for desktop video, animations, LightWaving,
programming [and making backups (I detect a bit of sarcasm here !)].
I started my Amiga carrier on a A500, upgraded to A2000 and later a 68020
accelerator card (somewhere in the cellar now).
Gosh, I've got a PPC 604e (200Mhz) now !
Anyway, hope you can use the program (I do !).
Other programs available from Aminet or author:
BCompress -> Huffman compressor
BCrypt -> encrypt data files with key
LCount -> count lines/records in ASCII/bin file
CExt -> change/delete/number extentions of files
DispIFF -> appicon on WB to display IFF images
R3Version -> version of Real 3D data files + IFF chunk scanner
BruVol -> estimates no. volumes in BRU backup
MyLists -> link lib for data structures
UCDoor -> link lib for MAX's BBS doors
LevelMan -> MAX's door for access requests
SysValues -> MAX's door displays system values
CtdlBull -> STDIO door for BBS bulletins
IsamMake -> make db defs for Redwood's engine
MidiTrack -> monitor for MIDI packets
SetMouse -> switch mouse port
FCheck -> check files via prefs file then backup
Cedee -> GUI CDDA sound player
...
See yo.